﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TestSystem.Domain.Entities.Position;

namespace TestSystem.Domain.Abstract
{
    public interface IPositionRepository
    {
        IQueryable<Position> Positions { get; }
        IQueryable<QuestionDifficultyToPosition> QuestionDifficultyToPositions { get; }
        IQueryable<QuestionTypeToPosition> QuestionTypeToPositions { get; }
        IQueryable<CategoryToPosition> CategoryToPositions { get; }

        void addPosition(Position position);
        void addQuestionDifficultyToPosition(QuestionDifficultyToPosition questionDifficultyToPosition);
        void addQuestionTypeToPosition(QuestionTypeToPosition questionTypeToPosition);
        void addCategoryToPosition(CategoryToPosition categoryToPosition);

        void RemovePosition(Position position);
        void RemovedQuestionDifficultyToPosition(QuestionDifficultyToPosition questionDifficultyToPosition);
        void RemoveQuestionTypeToPosition(QuestionTypeToPosition questionTypeToPosition);
        void RemoveCategoryToPosition(CategoryToPosition categoryToPosition);

        void SaveChanges();
    }
}
